稀疏组 Lasso 变量选择:把几百个因子压成少数可解释分组
你有 600 个因子、30 个经济含义分组,但只有 6 个组真有信号——普通 Lasso 会把整组零碎系数逐个挑出来,破坏分组结构、也难解释。稀疏组 Lasso(SGL) 用「先组级、再组内」的复合 L1 惩罚,把变量选择变成「整组进/整组出」+「组内精炼」两步。本文用高维(N<P)合成面板从零实现 SGL 的 FISTA 近端梯度求解,5 折交叉验证选 λ,对照 OLS/Lasso/GroupLasso:OLS 样本外 R² 崩到 −3.58(过度记忆),SGL 拉回 +0.18,并找回 86% 真信号组的系数,附完整 Python 与四类真实陷阱(高阶)。